# Maintainer: Antonio Rojas <arojas@archlinux.org>

# ALARM: Kevin Mihelich <kevin@archlinxuarm.org>
#  - delete shipped x86 binary src/mkjs to force rebuild for ARM

pkgname=giac
_pkgver=1.9.0-995
pkgver=${_pkgver//-/.}
pkgrel=2
pkgdesc='A free computer algebra system'
arch=(x86_64)
url='http://www-fourier.ujf-grenoble.fr/~parisse/giac.html'
license=(GPL-3.0-only)
depends=(blas
         cblas
         curl
         fltk
         gcc-libs
         glibc
         glpk
         gmp
         gmp-ecm
         gsl
         lapack
         libao
         libglvnd
         libpng
         libsamplerate
         libusb
         mpfi
         mpfr
         nauty
         ntl
         pari
         readline
         zlib)
makedepends=(hevea
             libjpeg-turbo
             python
             texlive-latexrecommended
             texlive-mathscience)
optdepends=('perl: for pgiac')
source=(http://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/${pkgname}_$_pkgver.tar.gz
        format-security.patch)
sha256sums=('b84b44287d260483ceea6703e12c5efcd67977b0f8f942e4fce20c31f837bcb3'
            '04288944e408807a15aa502e1215087870d8921229c9f9890d862d3c9de337cd')

prepare() {
  cd $pkgname-${pkgver%.*}
  patch -p1 < ../format-security.patch # Fix -Werror=format-security errors
#  patch -p1 < ../fix-build.patch
  rm -f src/mkjs # force rebuild for ARM
}

build() {
  cd $pkgname-${pkgver%.*}

  # this uses malloc_usable_size, which is incompatible with fortification level 3
  export CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
  export CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"

  CXXFLAGS+=" -Wp,-U_GLIBCXX_ASSERTIONS" # Fix crashes
  ./configure --prefix=/usr
  make
}

package() {
  cd $pkgbase-${pkgver%.*}
  make DESTDIR="$pkgdir" install
}
